#ifndef __SU_MENUSYSTEM_H__
#define __SU_MENUSYSTEM_H__

typedef enum
{
    DonotGo = 0,
    Fastest,
    Routine,
    Slowest,
}CarSpeed_e;
extern CarSpeed_e CarSpeed;

typedef enum
{
    Home_page_In = 0,
    Home_page,

    Parameter_adjustment,
    Fastest_Run,
    Routine_Run,
    Slowest_Run,
}HomePage_e;

typedef enum
{
    Parameter_Adjustment_In = 0,
    Parameter_Adjustment,

    Camera_Threshold,
    _Zebra_line,
    Fastest_Parameter,
    Routine_Parameter,
    Slowest_Parameter,
    Return_Mode_Choose,
}AdjustmentPage1_e;

typedef enum
{
    Fastest_Index_In = 0,
    Fastest_Index,

    Fastest_Speed,
    Fastest_P,
    Fastest_Picture,
    Fastest_Encode,
    Fastest_Return_Parameter_Choose,
}FastestIndex_e;
extern FastestIndex_e FastestIndex_Point;

typedef enum
{
    Routine_Index_In = 0,
    Routine_Index,

    Routine_Speed,
    Routine_P,
    Routine_Picture,
    Routine_Encode,
    Routine_Return_Parameter_Choose,
}RoutineIndex_e;
extern RoutineIndex_e RoutineIndex_Point;

typedef enum
{
    Slowest_Index_In = 0,
    Slowest_Index,

    Slowest_Speed,
    Slowest_P,
    Slowest_Picture,
    Slowest_Encode,
    Slowest_Return_Parameter_Choose,
}SlowestIndex_e;
extern SlowestIndex_e SlowestIndex_Point;


int Key_MenuSystem(void);
void Parameter_Adjustment_mode(void);
void Fastest_Parameter_mode(void);
void Routine_Parameter_mode(void);
void Slowest_Parameter_mode(void);

#define Save_As_TargetSpeed                     11  //Save_Target_Speed
#define Save_As_Threshold__And__Elemental_P     12  //Save_Threshold
void Write_Speed_To_EEPROM(void);
void Read_Speed_From_EEPROM(void);
void Write_Threshold_And_Elemental_P_To_EEPROM(void);
void Read_Threshold_And_Elemental_P_From_EEPROM(void);

#endif
